package com.ts.entity;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Date;

@Data
@AllArgsConstructor
@NoArgsConstructor
/**
 * 软件著作权实体类
 */
public class SoftwareCopyright implements Serializable {
    private Long id;
    private String softwareName;  // 软件名称

    /**
     * 软件类型：1-系统软件，2-应用软件，3-中间件，4-嵌入式软件，5-工具软件，6-其他
     */
    private Integer softwareType;

    private String versionNumber;  // 版本号
    private String copyrightRegistrationNumber;  // 软件著作权登记号
    private String developerName;  // 开发者姓名
    private Integer developerRank;  // 开发者位次
    private String copyrightOwner;  // 著作权人
    private LocalDate developmentCompletionTime;  // 开发完成时间
    private LocalDate registrationTime;  // 登记时间

    /**
     * 是否为教师：0-否，1-是
     */
    private Integer isTeacher;

    /**
     * 是否为学生：0-否，1-是
     */
    private Integer isStudent;

    /**
     * 是否为第一完成单位：0-否，1-是
     */
    private Integer isFirstCompletionUnit;

    private String achievementSource;  // 成果来源
    private String subjectClassification;  // 学科分类
    private String subSubjectClassification;  // 子科分类
    private String remark;  // 备注
    private String evidenceMaterial;  // 佐证材料

    // 新增字段 - 用于关联成员表
    private Long projectId;
    private Integer deleted; // 删除标识：0-未删除，1-已删除


    /*--------------------数据库公共字段--------------------*/
    private Long createBy;  // 创建人
    private Long updateBy;  // 更改人
    private LocalDateTime createTime;  // 创建时间
    private LocalDateTime updateTime;  // 更改时间
}
